package com.ruiben.mall.pojo;

import com.ruiben.mall.vo.SpecBean;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Table(name = "shop_product")
public class ShopProduct {
    /**
     * 商品id
     */
    @Id
    private String id;

    /**
     * 所属分类的id
     */
    @Column(name = "cateId")
    private String cateId;

    /**
     * 商品名称
     */
    @Column(name = "productName")
    private String productname;

    /**
     * 商品价格
     */
    private BigDecimal price;

    /**
     * 优惠价格
     */
    @Column(name = "favPrice")
    private BigDecimal favprice;

    /**
     * 销售量
     */
    private Integer soles;

    /**
     * 商品主图
     */
    @Column(name = "imagepath")
    private String imagePath;

    /**
     * 结束时间
     */
    @Column(name = "productEndTime")
    private Date productendtime;

    /**
     * 是否推荐（1推荐  0不推荐）
     */
    @Column(name = "isRecommend")
    private Boolean isrecommend;

    /**
     * 是否热门（0:否；1:是）
     */
    @Column(name = "isHot")
    private Boolean ishot;

    /**
     * 是否新品（0:否；1:是）
     */
    @Column(name = "isNew")
    private Boolean isnew;

    /**
     * 商品发布时间
     */
    @Column(name = "productAddTime")
    private Date productaddtime;

    /**
     * 购买须知
     */
    @Column(name = "buyContent")
    private String buycontent;

    /**
     * 商品图文详情
     */
    @Column(name = "productContent")
    private String productcontent;


    /**
     * 是否删除
     */
    @Column(name = "isDelete")
    private Boolean isdelete;

    /**
     * 收藏数
     */
    @Column(name = "coll_num")
    private Integer collNum;

    public List<ProductPhoto> imageList;

    private int goodsNum;

    public int getGoodsNum() {
        return goodsNum;
    }

    public void setGoodsNum(int goodsNum) {
        this.goodsNum = goodsNum;
    }

    /**
     * 属性列表
     */
    private List<Attribute> attributes;

    private List<ProductAttr> productAttrs;

    private List<SpecBean> specVo;

    public List<ProductAttr> getProductAttrs() {
        return productAttrs;
    }

    public void setProductAttrs(List<ProductAttr> productAttrs) {
        this.productAttrs = productAttrs;
    }

    public List<Attribute> getAttributes() {
        return attributes;
    }



    public void setAttributes(List<Attribute> attributes) {
        this.attributes = attributes;
    }

    private ProductCategory productCategory;

    public ProductCategory getProductCategory() {
        return productCategory;
    }

    public void setProductCategory(ProductCategory productCategory) {
        this.productCategory = productCategory;
    }

    /**
     * 获取商品id
     *
     * @return id - 商品id
     */
    public String getId() {
        return id;
    }

    /**
     * 设置商品id
     *
     * @param id 商品id
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * 获取所属分类的id
     *
     * @return typeId - 所属分类的id
     */
    public String getCateId() {
        return cateId;
    }


    /**
     * 设置所属分类的id
     *
     * @param cateId 所属分类的id
     */
    public void setCateId(String cateId) {
        this.cateId = cateId;
    }

    /**
     * 获取商品名称
     *
     * @return productName - 商品名称
     */
    public String getProductname() {
        return productname;
    }

    /**
     * 设置商品名称
     *
     * @param productname 商品名称
     */
    public void setProductname(String productname) {
        this.productname = productname;
    }

    /**
     * 获取商品价格
     *
     * @return price - 商品价格
     */
    public BigDecimal getPrice() {
        return price;
    }

    /**
     * 设置商品价格
     *
     * @param price 商品价格
     */
    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    /**
     * 获取优惠价格
     *
     * @return favPrice - 优惠价格
     */
    public BigDecimal getFavprice() {
        return favprice;
    }

    /**
     * 设置优惠价格
     *
     * @param favprice 优惠价格
     */
    public void setFavprice(BigDecimal favprice) {
        this.favprice = favprice;
    }

    /**
     * 获取销售量
     *
     * @return soles - 销售量
     */
    public Integer getSoles() {
        return soles;
    }

    /**
     * 设置销售量
     *
     * @param soles 销售量
     */
    public void setSoles(Integer soles) {
        this.soles = soles;
    }

    /**
     * 获取结束时间
     *
     * @return productEndTime - 结束时间
     */
    public Date getProductendtime() {
        return productendtime;
    }

    /**
     * 设置结束时间
     *
     * @param productendtime 结束时间
     */
    public void setProductendtime(Date productendtime) {
        this.productendtime = productendtime;
    }

    /**
     * 获取是否推荐（1推荐  0不推荐）
     *
     * @return isRecommend - 是否推荐（1推荐  0不推荐）
     */
    public Boolean getIsrecommend() {
        return isrecommend;
    }

    /**
     * 设置是否推荐（1推荐  0不推荐）
     *
     * @param isrecommend 是否推荐（1推荐  0不推荐）
     */
    public void setIsrecommend(Boolean isrecommend) {
        this.isrecommend = isrecommend;
    }

    /**
     * 获取是否热门（0:否；1:是）
     *
     * @return isHot - 是否热门（0:否；1:是）
     */
    public Boolean getIshot() {
        return ishot;
    }

    /**
     * 设置是否热门（0:否；1:是）
     *
     * @param ishot 是否热门（0:否；1:是）
     */
    public void setIshot(Boolean ishot) {
        this.ishot = ishot;
    }

    /**
     * 获取是否新品（0:否；1:是）
     *
     * @return isNew - 是否新品（0:否；1:是）
     */
    public Boolean getIsnew() {
        return isnew;
    }

    /**
     * 设置是否新品（0:否；1:是）
     *
     * @param isnew 是否新品（0:否；1:是）
     */
    public void setIsnew(Boolean isnew) {
        this.isnew = isnew;
    }

    /**
     * 获取商品发布时间
     *
     * @return productAddTime - 商品发布时间
     */
    public Date getProductaddtime() {
        return productaddtime;
    }

    /**
     * 设置商品发布时间
     *
     * @param productaddtime 商品发布时间
     */
    public void setProductaddtime(Date productaddtime) {
        this.productaddtime = productaddtime;
    }

    /**
     * 获取购买须知
     *
     * @return buyContent - 购买须知
     */
    public String getBuycontent() {
        return buycontent;
    }

    /**
     * 设置购买须知
     *
     * @param buycontent 购买须知
     */
    public void setBuycontent(String buycontent) {
        this.buycontent = buycontent;
    }

    /**
     * 获取商品图文详情
     *
     * @return productContent - 商品图文详情
     */
    public String getProductcontent() {
        return productcontent;
    }

    /**
     * 设置商品图文详情
     *
     * @param productcontent 商品图文详情
     */
    public void setProductcontent(String productcontent) {
        this.productcontent = productcontent;
    }

    public List<ProductPhoto> getImageList() {
        return imageList;
    }

    public void setImageList(List<ProductPhoto> imageList) {
        this.imageList = imageList;
    }


    public Boolean getIsdelete() {
        return isdelete;
    }

    public void setIsdelete(Boolean isdelete) {
        this.isdelete = isdelete;
    }


    public String getImagePath() {
        return imagePath;
    }

    public void setImagePath(String imagePath) {
        this.imagePath = imagePath;
    }

    public Integer getCollNum() {
        return collNum;
    }

    public void setCollNum(Integer collNum) {
        this.collNum = collNum;
    }

    public List<SpecBean> getSpecVo() {
        return specVo;
    }

    public void setSpecVo(List<SpecBean> specVo) {
        this.specVo = specVo;
    }
}